#一. 数字类型用于表示不同种类的数值数据，分为整型（int）、浮点型（float）、复数类型（complex）和布尔类型（bool），其中整型、浮点型和复数类型的数据分别对应数学中的整数、小数和复数；布尔类型比较特殊，用于表示真（True）或假（False）的逻辑值。
# 数字类型的示例如下：
# 整型（int）
int_var1 = 0
int_var2 = 101
int_var3 = -239

# 浮点型（float）
float_var1 = 3.1415
float_var2 = 4.2E-10  # 科学计数法，等价于 0.00000000042
float_var3 = -2.334E-9  # 等价于 -0.000000002334

# 复数类型（complex）
complex_var1 = 3.12 + 1.23j
complex_var2 = -1.23 - 93j

# 布尔类型（bool）
bool_var1 = True
bool_var2 = False

# 打印变量及其类型，验证定义是否正确
print("整型变量示例：")
print(f"int_var1 = {int_var1}, 类型：{type(int_var1)}")
print(f"int_var2 = {int_var2}, 类型：{type(int_var2)}")
print(f"int_var3 = {int_var3}, 类型：{type(int_var3)}")

print("\n浮点型变量示例：")
print(f"float_var1 = {float_var1}, 类型：{type(float_var1)}")
print(f"float_var2 = {float_var2}, 类型：{type(float_var2)}")
print(f"float_var3 = {float_var3}, 类型：{type(float_var3)}")

print("\n复数类型变量示例：")
print(f"complex_var1 = {complex_var1}, 类型：{type(complex_var1)}")
print(f"complex_var2 = {complex_var2}, 类型：{type(complex_var2)}")

print("\n布尔类型变量示例：")
print(f"bool_var1 = {bool_var1}, 类型：{type(bool_var1)}")
print(f"bool_var2 = {bool_var2}, 类型：{type(bool_var2)}")


#二、字符串用于表示文本数据，由单引号、双引号或者三引号包裹一系列字符。示例如下：
# 使用单引号定义字符串变量
str_single = 'Python123￥'

# 使用双引号定义字符串变量
str_double = "Python4*&%"

# 使用三引号定义字符串变量（可用于多行文本，这里演示单行）
str_triple = """Python s1 ~(())"""

# 打印变量及其类型，验证定义是否正确
print("单引号字符串示例：")
print(f"str_single = {str_single}, 类型：{type(str_single)}")

print("\n双引号字符串示例：")
print(f"str_double = {str_double}, 类型：{type(str_double)}")

print("\n三引号字符串示例：")
print(f"str_triple = {str_triple}, 类型：{type(str_triple)}")

#三、列表可以保存任意数量、任意类型的元素，且这些元素可以被修改。Python中一般使用中括号“[]”创建列表，在中括号中可以放入多个元素，多个元素之间以逗号进行分隔，示例如下：
# 定义列表变量
my_list = [1, 2, 'apple']

# 打印列表变量及其类型，验证定义是否正确
print("列表示例：")
print(f"my_list = {my_list}, 类型：{type(my_list)}")

# 演示列表元素的可修改性
my_list[2] = 'banana'
print("修改元素后的列表：", my_list)

# 演示列表可包含任意数量、任意类型的元素
another_list = [True, 3.14, [4, 5], "hello"]
print("包含多种类型元素的列表：", another_list, type(another_list))
#四、元组与列表的作用相似，它也可以保存任意数量、任意类型的元素，但是这些元素是不可以被修改的。Python中一般使用小括号“()”创建元组，在小括号中可以放入多个元素，多个元素之间以逗号分隔，示例如下：
# 定义元组变量
my_tuple = (1, 2, 'apple')

# 打印元组变量及其类型，验证定义是否正确
print("元组示例：")
print(f"my_tuple = {my_tuple}, 类型：{type(my_tuple)}")

# 演示元组元素的不可修改性（若尝试修改会报错，这里注释掉错误示例）
# my_tuple[2] = 'banana'  # 取消注释运行会触发 TypeError

# 演示元组可包含任意数量、任意类型的元素
another_tuple = (True, 3.14, (4, 5), "hello")
print("包含多种类型元素的元组：", another_tuple, type(another_tuple))
#五、集合与列表、元组类似，它也可以保存任意数量、任意类型的元素，但是这些元素之间没有特定的顺序，并且每个元素必须是唯一的。Python中一般使用大括号“{}”创建集合，在大括号中可以放入多个元素，多个元素之间以逗号分隔，示例如下：
# 定义集合变量
my_set = {'apple', 'orange', 1}

#一. 数字类型用于表示不同种类的数值数据，分为整型（int）、浮点型（float）、复数类型（complex）和布尔类型（bool），其中整型、浮点型和复数类型的数据分别对应数学中的整数、小数和复数；布尔类型比较特殊，用于表示真（True）或假（False）的逻辑值。
# 数字类型的示例如下：
# 整型（int）
int_var1 = 0
int_var2 = 101
int_var3 = -239

# 浮点型（float）
float_var1 = 3.1415
float_var2 = 4.2E-10  # 科学计数法，等价于 0.00000000042
float_var3 = -2.334E-9  # 等价于 -0.000000002334

# 复数类型（complex）
complex_var1 = 3.12 + 1.23j
complex_var2 = -1.23 - 93j

# 布尔类型（bool）
bool_var1 = True
bool_var2 = False

# 打印变量及其类型，验证定义是否正确
print("整型变量示例：")
print(f"int_var1 = {int_var1}, 类型：{type(int_var1)}")
print(f"int_var2 = {int_var2}, 类型：{type(int_var2)}")
print(f"int_var3 = {int_var3}, 类型：{type(int_var3)}")

print("\n浮点型变量示例：")
print(f"float_var1 = {float_var1}, 类型：{type(float_var1)}")
print(f"float_var2 = {float_var2}, 类型：{type(float_var2)}")
print(f"float_var3 = {float_var3}, 类型：{type(float_var3)}")

print("\n复数类型变量示例：")
print(f"complex_var1 = {complex_var1}, 类型：{type(complex_var1)}")
print(f"complex_var2 = {complex_var2}, 类型：{type(complex_var2)}")

print("\n布尔类型变量示例：")
print(f"bool_var1 = {bool_var1}, 类型：{type(bool_var1)}")
print(f"bool_var2 = {bool_var2}, 类型：{type(bool_var2)}")


#二、字符串用于表示文本数据，由单引号、双引号或者三引号包裹一系列字符。示例如下：
# 使用单引号定义字符串变量
str_single = 'Python123￥'

# 使用双引号定义字符串变量
str_double = "Python4*&%"

# 使用三引号定义字符串变量（可用于多行文本，这里演示单行）
str_triple = """Python s1 ~(())"""

# 打印变量及其类型，验证定义是否正确
print("单引号字符串示例：")
print(f"str_single = {str_single}, 类型：{type(str_single)}")

print("\n双引号字符串示例：")
print(f"str_double = {str_double}, 类型：{type(str_double)}")

print("\n三引号字符串示例：")
print(f"str_triple = {str_triple}, 类型：{type(str_triple)}")

#三、列表可以保存任意数量、任意类型的元素，且这些元素可以被修改。Python中一般使用中括号“[]”创建列表，在中括号中可以放入多个元素，多个元素之间以逗号进行分隔，示例如下：
# 定义列表变量
my_list = [1, 2, 'apple']

# 打印列表变量及其类型，验证定义是否正确
print("列表示例：")
print(f"my_list = {my_list}, 类型：{type(my_list)}")

# 演示列表元素的可修改性
my_list[2] = 'banana'
print("修改元素后的列表：", my_list)

# 演示列表可包含任意数量、任意类型的元素
another_list = [True, 3.14, [4, 5], "hello"]
print("包含多种类型元素的列表：", another_list, type(another_list))
#四、元组与列表的作用相似，它也可以保存任意数量、任意类型的元素，但是这些元素是不可以被修改的。Python中一般使用小括号“()”创建元组，在小括号中可以放入多个元素，多个元素之间以逗号分隔，示例如下：
# 定义元组变量
my_tuple = (1, 2, 'apple')

# 打印元组变量及其类型，验证定义是否正确
print("元组示例：")
print(f"my_tuple = {my_tuple}, 类型：{type(my_tuple)}")

# 演示元组元素的不可修改性（若尝试修改会报错，这里注释掉错误示例）
# my_tuple[2] = 'banana'  # 取消注释运行会触发 TypeError

# 演示元组可包含任意数量、任意类型的元素
another_tuple = (True, 3.14, (4, 5), "hello")
print("包含多种类型元素的元组：", another_tuple, type(another_tuple))
#五、集合与列表、元组类似，它也可以保存任意数量、任意类型的元素，但是这些元素之间没有特定的顺序，并且每个元素必须是唯一的。Python中一般使用大括号“{}”创建集合，在大括号中可以放入多个元素，多个元素之间以逗号分隔，示例如下：
# 定义集合变量
my_set = {'apple', 'orange', 1}

# 打印集合变量及其类型，验证定义是否正确
print("集合示例：")
print(f"my_set = {my_set}, 类型：{type(my_set)}")

# 演示集合元素的唯一性（重复元素会自动去重）
duplicate_set = {1, 2, 2, 'banana', 'banana'}
print("包含重复元素的集合（自动去重后）：", duplicate_set)

# 演示集合可包含任意数量、任意类型的元素
another_set = {True, 3.14, 'hello', (1, 2)}  # 注意：集合元素不能是可变类型（如列表、字典）
print("包含多种类型元素的集合：", another_set, type(another_set))
#六、字典可以保存任意数量的元素，不过元素是“Key:Value”形式的键值对，键Key不能重复。Python中一般使用大括号“{}”创建字典，在大括号中可以放入多个元素，多个元素之间以逗号分隔，示例如下：
# 定义字典变量
my_dict = {"name": "张三", "age": 18}

# 打印字典变量及其类型，验证定义是否正确
print("字典示例：")
print(f"my_dict = {my_dict}, 类型：{type(my_dict)}")

# 演示字典的键值对特性（键不能重复，若重复后定义的键会覆盖之前的）
duplicate_key_dict = {"name": "李四", "name": "王五", "gender": "男"}
print("键重复的字典（后定义的键覆盖前键）：", duplicate_key_dict)

# 演示字典可包含任意数量、任意类型的键值对（键需为不可变类型，如字符串、数字、元组等）
another_dict = {
    "is_student": True,
    100: "满分",
    (1, 2): "元组作为键"
}
print("包含多种类型键值对的字典：", another_dict, type(another_dict))
